Máy tính số thuở sơ khai Lịch_sử_phần_cứng_máy_tính

Chương trình băng đục lỗ dài hơn nhiều so với một đoạn trong hình.

Thời kỳ tính toán hiện đại bắt đầu bằng sự phát triển đột biến trước và trong Chiến tranh thế giới II, khi các thành phần mạch điện[45] đã thay thế các bộ phận cơ khí tương đương và máy tính toán kỹ thuật số đã thay thế máy tính toán kỹ thuật tương tự. Những máy như Z3, máy tính Atanasoff–Berry, các máy tính Colossus, và ENIAC được chế tạo bằng tay sử dụng những mạch điện có chứa rờ-le hay van (ống chân không), và thường dùng thẻ đục lỗ hoặc băng giấy đục lỗ làm ngõ nhập và dung môi lưu trữ chính (lâu tiêu hao).

Trong thời kỳ này, một số loại máy khác nhau được sản xuất với tính năng ngày càng tiên tiến. Vào đầu giai đoạn này, không thấy một máy nào tương tự như máy tính ngày nay, ngoại trừ những kế hoạch dài hạn của Charles Babbage và những ý tưởng toán học của Alan Turing và những người khác. Vào cuối thời kỳ, những thiết bị như EDSAC đã được chế tạo, và được mọi người thừa nhận là máy tính kỹ thuật số. Định nghĩa một điểm trong suốt quá trình là "máy tính đầu tiên" là đã bỏ qua nhiều điểm tinh tế (xem bảng "Xác định các đặc tính của một số máy tính số thuở sơ khai vào những năm 1940" ở dưới).

Bài báo năm 1936 của Alan Turing[46] đã được chứng minh là có ảnh hưởng vô cùng lớn đến ngành máy tính và khoa học máy tính theo hai cách. Mục đích chính của nó là chứng minh rằng tồn tại những vấn đề (gọi là bài toán dừng) không thể giải bằng bất kỳ quy trình tuần tự nào. Để làm điều đó, Turing đã cung cấp một định nghĩa về một máy tính phổ quát xử lý chương trình được lưu trên băng giấy. Cách xây dựng này được gọi là máy Turing; nó thay thế cho ngôn ngữ phổ quát dựa trên toán học có phần nặng nề hơn của Kurt Gödel. Ngoại trừ những hạn chế do bộ lưu trữ có hạn, những máy tính hiện đại được xem là Turing đầy đủ, hay nói cách khác, chúng có khả năng thực thi giải thuật tương đương với máy Turing phổ quát. Kiểu giới hạn của tính đầy đủ Turing đôi khi được xem như khả năng giới hạn phân tách máy tính đa năng và những máy đời trước với mục đích cụ thể.

Mẫu thiết kế của kiến trúc von Neumann (1947)

Để một máy tính toán trở thành máy tính đa năng, phải có một cơ chế đọc-ghi thuận tiện, ví dụ như băng giấy đục lỗ. Với kiến thức về 'máy tính phổ quát' mang tính lý thuyết của Alan Turing, John von Neumann đã định nghĩa một kiến trúc sử dụng cùng một bộ nhớ cho việc lưu trữ chương trình lẫn dữ liệu: hầu như tất cả các máy tính ngày nay đều sử dụng kiến trúc này (hoặc một biến thể nào đó của nó). Tuy về mặt lý thuyết hoàn toàn có thể hiện thực một máy tính hoàn chỉnh làm bằng cơ khí (như thiết kế của Babbage đã chứng minh), điện tử học đã khiến cho tốc độ và sau này là sự thu nhỏ trở nên khả dĩ hình thành nên những máy tính hiện đại.

Có ba xu hướng phát triển máy tính song song với nhau trong thời gian Chiến tranh thế giới II; trong đó xu hướng thứ nhất nhanh chóng bị quên lãng, còn xu hướng thứ hai bị cố ý giữ bí mật. Xu hướng thứ nhất là công trình Konrad Zuse của người Đức. Thứ hai là việc triển khai máy tính Colossus trong vòng bí mật của Anh. Cả hai xu hướng này đều không có ảnh hưởng nhiều đến các dự án máy tính khác nhau tại Hoa Kỳ. Xu hướng thứ ba trong sự phát triển máy tính là ENIAC và EDVAC của Eckert Mauchly, được biết đến rộng rãi[47][48].

Zuse

Bài chi tiết: Konrad Zuse, Z1, Z2, Z3, và Z4
Bản mô phỏng máy tính Z1 của Zuse.

Làm việc hoàn toàn cách biệt tại Đức, Konrad Zuse bắt đầu chế tạo máy tính toán dòng Z đầu tiên của ông vào năm 1936, với một số tính năng như có bộ nhớ và khả năng lập trình (ban đầu còn hạn chế). Chiếc Z1 của Zuse hoàn toàn bằng cơ khí, nhưng đã sử dụng số nhị phân, hoàn thành vào năm 1938, nhưng chưa bao giờ làm việc một cách tin cậy do những vấn đề với độ chính xác của các bộ phận.

Chiếc máy sau đó của Zuse, chiếc Z3[49], hoàn thành vào năm 1941. Chiếc máy này dựa trên rờ-le điện thoại và đã hoạt động một cách đáng hài lòng. Nhờ vậy Z3 trở thành chiếc máy tính kỹ thuật số đa năng đầu tiên được điều khiển bằng chương trình và có thể hoạt động được. Trên nhiều khía cạnh nó khá giống với những chiếc máy hiện đại, tiên phong trong nhiều cải tiến, như số thực dấu chấm động. Sự thay thế hệ thống số thập phân khó hiện thực (được dùng trong thiết kế trước đó của Charles Babbage) bằng hệ thống nhị phân đơn giản hơn có nghĩa là những chiếc máy của Zuse dễ chế tạo hơn và rất có khả năng đáng tin cậy hơn, theo công nghệ có sẵn vào thời đó. Đôi khi người ta xem đây là lý do chính tại sao Zuse lại thành công trong khi Babbage thất bại.

Chương trình đưa vào Z3 được ghi trên những tấm phim đục lỗ. Phép nhảy có điều kiện bị bỏ qua, nhưng từ thập niên 1990 người ta đã chứng minh bằng lý thuyết rằng Z3 vẫn là một máy tính vạn năng (bỏ qua những hạn chế về kích thước lưu trữ vật lý của nó). Trong hai ứng dụng được đăng ký sở hữu trí tuệ vào năm 1936, Konrad Zuse cũng đoán trước rằng những dòng lệnh máy có thể được lưu trong cùng bộ lưu trữ dữ liệu - ý tưởng chính yếu mà sau này được biết đến với kiến trúc von Neumann và được hiện thực đầu tiên trong bản thiết kế EDSAC của Anh sau đó (1949). Zuse cũng tuyên bố đã thiết kế được ngôn ngữ lập trình cấp cao đầu tiên, (Plankalkül), vào năm 1945 (được xuất bản năm 1948) mặc dù nó được hiện thực lần đầu tiên vào năm 2000 bởi một nhóm do Raúl Rojas đứng đầu tại Đại học Tự do Berlin – năm năm sau khi Zuse qua đời.

Zuse đã phải chịu nhiều khó khăn trong Chiến tranh thế giới II khi một số máy móc của ông bị phá hoại trong những chiến dịch ném bom của Quân đồng minh. Rõ ràng là những kỹ sư tại Anh và Mỹ không hề biết đến đa số công trình của ông cho đến mãi sau này, mặc dù ít nhất thì IBM đã chú ý đến nó khi tài trợ tài chính cho việc thành lập công ty của ông vào năm 1946 để trả lại sẽ sở hữu bằng phát minh của Zuse.

Colossus

Bài chi tiết: Máy tính Colossus
Colossus được dùng để giải mã thông tin quân Đức trong Chiến tranh thế giới II.

Trong suốt Chiến tranh thế giới II, người Anh tại Bletchley Park (40 dặm về phía bắc Luân Đôn) đã đạt được một số thành công trong việc giải những bức thư liên lạc quân sự được mã hóa của quân Đức. Máy mã hóa của người Đức, Enigma, bị xâm nhập với sự giúp đỡ của những chiếc máy cơ-điện có tên bombe. Bombe, do Alan TuringGordon Welchman thiết kế, đặt tên theo phương pháp mã hóa bomba của Marian Rejewski người Ba Lan (1938), bắt đầu được sử dụng vào năm 1941.[50] Chúng khử được những thiết lập của Enigma bằng cách thực hiện hàng loạt những phép suy diễn logic được hiện thực bằng điện tử. Đa số khả năng sẽ dẫn đến mâu thuẫn, chỉ còn số ít còn lại có thể kiểm tra bằng tay được.

Người Đức cũng phát triển một loạt hệ thống mã hóa bằng máy điện báo ghi chữ, khá khác với Enigma. Chiếc Lorenz SZ 40/42 được dùng cho những liên lạc Quân đội cấp cao, mà người Anh gọi là "Tunny". Lần xâm nhập đầu tiên vào thông điệp của Lorenz bắt đầu vào năm 1941. Là một phần trong nỗ lực giải mã Tunny, Giáo sư Max Newman và đồng nghiệp của ông đã giúp mô tả chi tiết chiếc máy Colossus[51]. Chiếc Mk I Colossus được chế tạo trong khoảng giữa tháng 3 và tháng 12 năm 1943 do Tommy Flowers và đồng nghiệp của ông tại Trạm nghiên cứu bưu chínhDollis Hill, Luân Đôn thực hiện, rồi sau đó chuyển đến Bletchley Park.

Colossus là thiết bị tính toán hoàn toàn bằng điện tử đầu tiên. Colossus sử dụng một số lượng lớn van (ống chân không). Nó có ngõ nhập bằng băng giấy và có thể được cấu hình để thực hiện các tác vụ luận lý bool khác nhau trên dữ liệu, nhưng không phải là một Turing đầy đủ. Chín chiếc Mk II Colossi đã được chế tạo (chiếc Mk I được chuyển đổi sang Mk II là tổng cộng 10 máy). Chi tiết về sự tồn tại, thiết kế và sử dụng nó được giữ bí mật rất kỹ cho đến thập niên 1970. Cá nhân Winston Churchill đã ra lệnh phá hủy chúng. Do tính bí mật này, những chiếc Colossus không được tính vào nhiều bản tóm tắt lịch sử của máy tính. Một bản sao của một trong các máy Colossus được tái tạo lại, hiện đang trưng bày tại Bletchley Park.

Sự phát triển của người Mỹ

Vào năm 1937, Shannon đã viết cuốn luận văn Thạc sĩ của ông[52] tại MIT lần đầu tiên trong lịch sử hiện thực đại số Boole bằng cách dùng các rờ-le và công tắc điện tử. Với tựa đề A Symbolic Analysis of Relay and Switching Circuits (tạm dịch: Phân tích mang tính biểu tượng cho mạch rờ-le và chuyển mạch), cuốn luận văn của Shannon về bản chất đã xây dựng nên bản thiết kế mạch kỹ thuật số có thực. George Stibitz cũng hoàn thành việc chế tạo chiếc máy tính dựa trên rờ-le mà ông gọi là "Mô hình K" tại Bell Labs vào tháng 11 năm 1937. Bell Labs đã ủy quyền một chương trình nghiên cứu đầy đủ vào năm 1938 dưới sự chỉ đạo của Stibitz. Chiếc Máy tính số phức của họ[53] đã được hoàn tất vào ngày 8 tháng 1 năm 1940, có thể tính toán được số phức. Trong một lần trình diễn nó tại hội nghị của Hội Toán học Hoa KỳCao đẳng Dartmouth vào ngày 11 tháng 9 năm 1940, Stibitz đã có thể gửi những lệnh điều khiển từ xa cho Máy tính Số phức qua đường dây điện thoại nhờ máy điện báo đánh chữ. Đó là chiếc máy tính toán đầu tiên từng sử dụng điều khiển từ xa, ở đây là qua đường dây điện thoại. Một số khán giả trong hội nghị đã chứng kiến cuộc trình diễn đó gồm có John von Neumann, John Mauchly, và Norbert Wiener, những người đã viết về nó trong cuốn hồi ký của họ.

Nhân bản của Máy tính Atanasoff–Berry tại tầng 1 Durham Center, Đại học bang Iowa

Vào năm 1939, John Vincent Atanasoff và Clifford E. Berry của Đại học bang Iowa đã phát triển chiếc Máy tính Atanasoff–Berry Computer (ABC)[54], một chiếc máy tính điện tử kỹ thuật số có mục đích cụ thể là giải hệ phương trình tuyến tính. Bản thiết kế này sử dụng trên 300 ống chân không để tăng tốc độ tính toán và sử dụng tụ điện gắn cứng vào trống quay bằng động cơ để làm bộ nhớ. Mặc dù máy ABC không thể lập trình được, nó là chiếc máy đầu tiên sử dụng mạch điện tử. Nhà đồng phát minh ENIAC, John Mauchly, đã giám định chiếc ABC vào tháng 6 năm 1941, và những ảnh hưởng của nó lên bản thiết kế chiếc máy ENIAC sau này là chủ đề tranh luận giữa những nhà sử học máy tính. Chiếc ABC đã bị lãng quên cho đến khi nó là tâm điểm trong vụ kiện Honeywell kiện Sperry Rand, mà quyết định của tòa án là làm mất hiệu lực của bằng sáng chế ENIAC (và vài thứ khác) vì một trong những lý do đó là nó mô phỏng công trình của Atanasoff.

Vào năm 1939, người ta bắt đầu chế tạo chiếc máy Harvard Mark I tại phòng thí nghiệm Endicott của IBM. Được biết đến chính thức với tên gọi Automatic Sequence Controlled Calculator (Máy tính được điều khiển bằng chuỗi tự động)[55], Mark I là một máy tính cơ-điện đa năng được chế tạo bằng tiền bạc và sự hỗ trợ nhân lực từ IBM, dưới sự hướng dẫn của nhà toán học Howard Aiken của trường Harvard. Bản thiết kế của nó ảnh hưởng từ Máy phân tích của Babbage, sử dụng số thập phân và bánh xe lưu trữ cùng với công tắc xoay kèm với rờ-le điện từ. Nó có thể lập trình được nhờ cuộc giấy đục lỗ, và có thể cùng lúc tính toán vài đơn vị song song. Các phiên bản sau đó có vài bộ đọc cuộn giấy và nó có thể thay đổi giữa các bộ đọc dựa trên một điều kiện nào đó. Tuy nhiên, chiếc máy không hoàn toàn là máy Turing đầy đủ. Mark I được chuyển đến Đại học Harvard và bắt đầu được đưa vào hoạt động vào tháng 5 năm 1944.

ENIAC

Bài chi tiết: ENIAC
ENIAC thực hiện phép tính toán quỹ đạo đường đạn với năng lượng 160 kW.

Chiếc máy ENIAC (Electronic Numerical Integrator and Computer - Máy tính hợp và tính toán số học điện tử) do Mỹ thiết kế là chiếc máy tính đa năng điện tử đầu tiên. Được chế tạo dưới sự chỉ đạo của John MauchlyJ. Presper Eckert tại Đại học Pennsylvania, nó nhanh hơn Harvard Mark I 1000 lần. Sự phát triển và chế tạo ENIAC kéo dài từ năm 1943 đến khi có thể hoạt động hoàn toàn vào cuối năm 1945.

Khi bản thiết kế của nó được đưa ra, nhiều nhà nghiên cứu tin rằng hàng ngàn cái van (tức là ống chân không) mỏng manh sẽ thường xuyên cháy khiến cho ENIAC thường xuyên ngưng hoạt động để sửa chữa, do đó sẽ vô dụng. Tuy nhiên, nó đã có thể thực hiện hàng ngàn phép tính một giây trong vòng nhiều tiếng đồng hồ giữa hai thời điểm chết máy.

ENIAC chắc chắn là một thiết bị Turing đầy đủ. Tuy nhiên, một "chương trình" trên ENIAC được định nghĩa bởi những trạng thái của cáp nối tạm và chuyển mạch, một khoảng cách xa so với những máy điện tử chương trình lưu trữ sử dụng kỹ thuật này. Lập trình nó có nghĩa là lắp lại dây cho nó[56]. (Sự phát triển hoàn tất vào năm 1948 đã giúp nó có thể xử lý các tập chương trình lưu trữ trong bảng bộ nhớ chức năng, khiến cho việc lập trình bớt khó khăn hơn). Nó có thể thực hiện phép tính song song, vì nó có thể được nối dây để thực hiện nhiều bộ cộng tích lũy cùng lúc. Do đó phép tính tuần tự là đặc trưng của máy von Neumann diễn ra sau ENIAC.

Tài liệu tham khảo

WikiPedia: Lịch_sử_phần_cứng_máy_tính http://www.csiro.au/science/ps4f.html http://www.fourmilab.ch/babbage/sketch.html http://www.idsia.ch/~juergen/schickard.html http://www.elo.utfsm.cl/~ipd481/Papers%20varios/ka... http://news.cnet.com/8301-10784_3-9955184-7.html?t... http://v3.espacenet.com/textdoc?DB=EPODOC&IDX=US26... http://v3.espacenet.com/textdoc?DB=EPODOC&IDX=US27... http://v3.espacenet.com/textdoc?DB=EPODOC&IDX=US29... http://groups-beta.google.com/group/net.misc/msg/0... http://www.hpl.hp.com/news/2008/apr-jun/memristor....